package com.fdb.efp.nls.service.facade.psd;

import com.fdb.efp.nls.service.vo.psd.PreNlsCreditInfoVO;

import java.util.List;


/**
*需求编号：【2019D1218】（普税贷需求）
*问题编号：【2019D1218】（若不是因为修复问题而新增该类，则留空）
*开发人员：【ludayong】
*创建日期：【2019/11/20 15:37】
*功能描述：
*/

public interface PreNlsCreditInfoService {

    /**
     * 新增数据
     *
     * @param inPreNlsCreditInfoVo
     * @return
     */
    public int insertPreNlsCreditInfo(PreNlsCreditInfoVO inPreNlsCreditInfoVo);

    /**
     * 根据主键删除信息
     *
     * @param preNlsCreditInfoVo
     * @return
     */
    public int deleteByPk(PreNlsCreditInfoVO preNlsCreditInfoVo);

    /**
     * 根据主键更新信息
     *
     * @param preNlsCreditInfoVo
     * @return
     */
    public int updateByPk(PreNlsCreditInfoVO preNlsCreditInfoVo);

    /**
     * 根据主键查询详情
     *
     * @param preNlsCreditInfoVo
     * @return
     */
    public PreNlsCreditInfoVO queryByPk(PreNlsCreditInfoVO preNlsCreditInfoVo);

    /**
     * 一级数据权限
     *
     * @param preNlsCreditInfoVo
     * @return
     */
    public List<PreNlsCreditInfoVO> queryAllByLevelOne(PreNlsCreditInfoVO preNlsCreditInfoVo);

    /**
     * 二级数据权限
     *
     * @param preNlsCreditInfoVo
     * @return
     * @version 0.1
     */
    public List<PreNlsCreditInfoVO> queryAllByLevelTwo(PreNlsCreditInfoVO preNlsCreditInfoVo);

    /**
     * 三级数据权限
     *
     * @param preNlsCreditInfoVo
     * @return
     */
    public List<PreNlsCreditInfoVO> queryAllByLevelThree(PreNlsCreditInfoVO preNlsCreditInfoVo);

    /**
     * 四级数据权限
     *
     * @param preNlsCreditInfoVo
     * @return
     */
    public List<PreNlsCreditInfoVO> queryAllByLevelFour(PreNlsCreditInfoVO preNlsCreditInfoVo);

    /**
     * 五级数据权限
     *
     * @param preNlsCreditInfoVo
     * @return
     */
    public List<PreNlsCreditInfoVO> queryAllByLevelFive(PreNlsCreditInfoVO preNlsCreditInfoVo);

    /**
     *需求编号：【2019D1218】（普税贷需求）
     *问题编号：【2019D1218】（通过渠道申请号查询普税贷预授信申请信息）
     *开发人员：【ludayong】
     *创建日期：【2019/12/14 11:32】
     *功能描述：
     *修改日期：【2019/12/14 11:32】
     *修改描述：
     */
    public PreNlsCreditInfoVO queryByChannelApplyNo(PreNlsCreditInfoVO preNlsCreditInfoVo);

    /**
     *需求编号：【2019D1218】（普税贷需求）
     *问题编号：【2019D1218】（通过全局流水号查询普税贷预授信申请信息）
     *开发人员：【ludayong】
     *创建日期：【2019/12/16 16:35】
     *功能描述：
     *修改日期：【2019/12/16 16:35】 
     *修改描述：
     */
    public PreNlsCreditInfoVO queryByGlobalSerno(PreNlsCreditInfoVO preNlsCreditInfoVo);

    /**
     *需求编号：【2019D1218】（普税贷需求）
     *问题编号：【2019D1218】（通过法定代表人证件信息和申请时间查询普税贷预授信申请信息）
     *开发人员：【ludayong】
     *创建日期：【2019/12/16 16:35】
     *功能描述：
     *修改日期：【2019/12/16 16:35】
     *修改描述：
     */
    public List<PreNlsCreditInfoVO> queryByCertInfoAndApplyDate(PreNlsCreditInfoVO preNlsCreditInfoVo);

    /**
     *需求编号：【2019D1218】（普税贷需求）
     *问题编号：【2019D1218】（通过输入条件查询普税贷预授信申请信息）
     *开发人员：【ludayong】
     *创建日期：【2020/3/25 8:33】
     *功能描述：
     *修改日期：【2020/3/25 8:33】
     *修改描述：
     */
    public List<PreNlsCreditInfoVO> queryByCondition(PreNlsCreditInfoVO preNlsCreditInfoVo);

    List<PreNlsCreditInfoVO> queryByTaxNumber(String taxNumber) throws Exception;
}
